home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / MEMO.SRC < prev    next >
Text File  |  1990-11-03  |  7KB  |  332 lines

  1. ;\|
  2. ;MEMO.SRC     Translated from MEMO.EDT by Roger Mathew's EDT2SRC Ver 4.11
  3. ;NEW      08:40:12 PM  16/ 7/90
  4. define(CTR|N|1||)
  5. define(CTR2|N|1||)
  6. define(CTR3|N|1||)
  7. define(TD|S|8||)
  8. define(PROC4|A|1||)
  9. define(REF_CTR|N|2||)
  10. define(MEM_DOC2|N|1||)
  11. define(CON_CTR|N|2||)
  12. define(EXTRAS|N|3||)
  13. define(CON_NUM|N|3||)
  14. define(CLIN_NUM|N|3||)
  15. define(EMERG_NUM|N|3||)
  16. define(ISIT_EMER|A|1||)
  17. define(MEM_DOC|A|1||)
  18. define(NY|A|1||)
  19. date(TD|G)
  20. OPEN_FILES:
  21. open(PATIENT||0|EXIT)
  22. open(REFER||0|EXIT)
  23. open(PROCEDE||1|EXIT)
  24. open(MEMORY||0|EXIT)
  25. open(GPSETUP||0|EXIT)
  26. trap(S|G|SAVE_RECS)
  27. trap(D|G|DEL_RECS)
  28. trap(C|G|CLR_RECS)
  29. trap(Q|G|EXIT)
  30. trap(L|G|START)
  31. MOUNT_SCRS:
  32. mount(NEW|S||)
  33. find(B|MEM_NAME||)
  34. PATIENT.NAME = (MEM_NAME)
  35. find(M|PATIENT.NAME|START|)
  36. PROC_REF = (RECORD.NUMBER)
  37. find(M|PROC_REF|START|)
  38. START:
  39. PAT.NAME:
  40. enter(PATIENT.NAME||||Y|Y|N|||N)
  41. find(G|PATIENT.NAME|START|)
  42. PROC_REF = (RECORD.NUMBER)
  43. find(M|PROC_REF|START2CL|)
  44. NY = ("")
  45. pmsg("DO YOU WANT TO UPDATE THE MEMOS FIRST:"|10|22|N|N|S|)
  46. enter(NY|"YN"|||Y|Y|N|50|22|N)
  47. if NY = ("Y") goto UPMEMO
  48. clrlne(1|22)
  49. START2:
  50. gosub LINE
  51. if CTR2 = (0) then CTR2 = (1)
  52. SATRT3:
  53. MEM_DOC = ("")
  54. for(CTR|CTR2|6|1)
  55. {
  56. PROC_DATE[CTR] = (TD)
  57. PROC_UP = (TD)
  58. enter(PROC_DATE[CTR]|||SATRT3|N|N|N|||N)
  59. enter(PROC[CTR]||||Y|Y|N|||N)
  60. enter(PROC_DOC[CTR]|"12345"|||Y|Y|N|||N)
  61. MEM_DOC = (PROC_DOC[CTR])
  62. enter(PROC_OP[CTR]||||Y|Y|N|||N)
  63. if PROC_OP[CTR] = ("") reent
  64. if PROC_EX[CTR] = ("") do
  65. {
  66. PROC_REF = (RECORD.NUMBER)
  67. PROC4 =mid(PROC[CTR]|1|1|)
  68. if PROC4 = ("*") do
  69. {
  70. PROC_EX[CTR] = ("X")
  71. gosub STARTAGAIN
  72. save(PROCEDE|N|N)
  73. find(M|PROC_REF||)
  74. }
  75. enter(PROC_DONE[1]|" YNSCRO"|||Y|Y|N|||N)
  76. enter(PROC_DONE[2]|" YNSCRO"|||Y|Y|N|||N)
  77. enter(PROC_DONE[3]|" YNSCRO"|||Y|Y|N|||N)
  78. enter(PROC_DONE[4]|" YNSCRO"|||Y|Y|N|||N)
  79. enter(PROC_DONE[5]|" YNSCRO"|||Y|Y|N|||N)
  80. enter(PROC_DONE[6]|" YNSCRO"|||Y|Y|N|||N)
  81. }
  82. }
  83. gosub LINE
  84. for(CTR|1|6|1)
  85. {
  86. if PROC[CTR] = ("") then PROC_DATE[CTR] = (0)
  87. }
  88. goto SATRT3
  89. SAVE_RECS:
  90. for(CTR|1|6|1)
  91. {
  92. if PROC[1] = ("") do
  93. {
  94. clr(PROCEDE|B)
  95. goto START
  96. }
  97. if PROC[CTR] = ("") do
  98. {
  99. PROC_DATE[CTR] = (0)
  100. PROC_OP[CTR] = ("")
  101. PROC_DOC[CTR] = ("")
  102. PROC_DONE[CTR] = ("")
  103. }
  104. }
  105. if PROC_REF = (0) goto START
  106. PROC_REF = (RECORD.NUMBER)
  107. if PROC_REF = (0) goto START
  108. save(PROCEDE|Y|Y|)
  109. MEM_DOC = ("")
  110. goto START
  111. DEL_RECS:
  112. del(PROCEDE|Y|)
  113. goto START
  114. CLR_RECS:
  115. MEM_DOC = ("")
  116. clr(PATIENT|B)
  117. clr(PROCEDE|B)
  118. goto START
  119. EXIT:
  120. if PROC[1] = ("") goto RUNPATREC
  121. for(CTR|1|6|1)
  122. {
  123. if PROC[CTR] = ("") do
  124. {
  125. PROC_DATE[CTR] = (0)
  126. PROC_OP[CTR] = ("")
  127. PROC_DOC[CTR] = ("")
  128. PROC_DONE[CTR] = ("")
  129. }
  130. }
  131. if PROC_REF > (0) then save(PROCEDE|N|Y)
  132. RUNPATREC:
  133. run("patrec")
  134. LINE:
  135. for(CTR2|1|6|1)
  136. {
  137. if PROC[CTR2] = ("") do
  138. {
  139. if CTR2 = (6) do
  140. {
  141. pops
  142. goto SATRT3
  143. }
  144. ret
  145. }
  146. }
  147. CTR = (2)
  148. if PROC_DATE[1] = (TD) do
  149. {
  150. for(CTR3|1|6|1)
  151. {
  152. enter(PROC_DONE[CTR3]|" Y"|||Y|Y|N|||N)
  153. }
  154. pops
  155. goto SAVE_RECS
  156. }
  157. for(CTR2|1|5|1)
  158. {
  159. PROC[CTR2] = (PROC[CTR])
  160. PROC_DATE[CTR2] = (PROC_DATE[CTR])
  161. PROC_OP[CTR2] = (PROC_OP[CTR])
  162. PROC_DOC[CTR2] = (PROC_DOC[CTR])
  163. PROC_DONE[CTR2] = (PROC_DONE[CTR])
  164. CTR = (CTR+1)
  165. }
  166. PROC[6] = ("")
  167. PROC_DATE[6] = (0)
  168. PROC_OP[6] = ("")
  169. PROC_DOC[6] = ("")
  170. PROC_DONE[6] = ("")
  171. PROC_EX[6] = ("")
  172. goto LINE
  173. ret
  174. UPARROW:
  175. CTR2 = (CTR2-1)
  176. CTR = (CTR2)
  177. ret
  178. STARTAGAIN:
  179. trap(%|I)
  180. trap(Q|G|EXITX)
  181. trap(U|I)
  182. saves(1)
  183. window(20|15|5|40)
  184. trap(Q|G|EXITX)
  185. find(B|HEADING||)
  186. pmsg("IS IT EMERGENCY:"|1|1|N|N|S|)
  187. enter(ISIT_EMER|"YN"|||Y|Y|N|20|1|N)
  188. if ISIT_EMER = ("Y") goto SCR2
  189. gosub SCREEN2
  190. CLIN_NUM = (CLIN_NUM)
  191. pmsg("ENTER SPECIALTY:"|1|2|N|N|S|)
  192. enter(CLIN_NUM||||N|Y|N|20|2|N)
  193. ADDER:
  194. REF_COD = (MEM_DOC)
  195. find(M|REF_COD|EXIT|)
  196. if ISIT_EMER <> ("Y") do
  197. {
  198. CLIN_REF[CLIN_NUM] = (CLIN_REF[CLIN_NUM]+1)
  199. }
  200. else
  201. {
  202. EMERG_REF[EMERG_NUM] = (EMERG_REF[EMERG_NUM]+1)
  203. }
  204. save(REFER|N|Y)
  205. CLIN_NUM = (0)
  206. CON_NUM = (0)
  207. EMERG_NUM = (0)
  208. ISIT_EMER = ("")1
  209. redsp(1)
  210. trap(%|D)
  211. trap(U|D)
  212. trap(Q|G|EXIT)
  213. ret
  214. SCREEN2:
  215. saves(2)
  216. window(1|25|24|78)
  217. for(REF_CTR|1|22|1)
  218. {
  219. pmsg(@R;REF_CTR;@N;" ";@R;CLINICS[REF_CTR];@N|1|REF_CTR|N|N|S|)
  220. }
  221. CON_CTR = (REF_CTR+1)
  222. for(REF_CTR|1|22|1)
  223. {
  224. pmsg(@R;CON_CTR;@N;" ";@R;CLINICS[CON_CTR];@N|25|REF_CTR|N|N|S|)
  225. CON_CTR = (CON_CTR+1)
  226. }
  227. pmsg("ENTER NUMBER:"|60|12|N|N|S|)
  228. enter(CLIN_NUM||||N|Y|N|65|13|N)
  229. if CLIN_NUM = (0) reent
  230. if CLIN_NUM > (44) reent
  231. redsp(2)
  232. ret
  233. SCREEN3:
  234. saves(2)
  235. window(1|25|24|78)
  236. for(REF_CTR|1|22|1)
  237. {
  238. pmsg(@R;REF_CTR;@N;" ";@R;CLINICS[REF_CTR];@N|1|REF_CTR|N|N|S|)
  239. }
  240. CON_CTR = (REF_CTR+1)
  241. for(REF_CTR|1|22|1)
  242. {
  243. pmsg(@R;CON_CTR;@N;" ";@R;CLINICS[CON_CTR];@N|25|REF_CTR|N|N|S|)
  244. CON_CTR = (CON_CTR+1)
  245. }
  246. pmsg("ENTER NUMBER:"|60|12|N|N|S|)
  247. enter(EMERG_NUM||||N|Y|N|65|13|N)
  248. if EMERG_NUM = (0) reent
  249. if EMERG_NUM > (44) reent
  250. redsp(2)
  251. ret
  252. SCR2:
  253. gosub SCREEN3
  254. EMERG_NUM = (EMERG_NUM)
  255. pmsg("ENTER SPECIALTY EMERGENCY:"|1|3|N|N|S|)
  256. enter(EMERG_NUM||||N|Y|N|30|3|N)
  257. goto ADDER
  258. EXITX:
  259. run("recmenu")
  260. UPMEMO:
  261. enter(PROC_DONE[1]|" YNSCRO"|||Y|Y|N|||N)
  262. enter(PROC_DONE[2]|" YNSCRO"|||Y|Y|N|||N)
  263. enter(PROC_DONE[3]|" YNSCRO"|||Y|Y|N|||N)
  264. enter(PROC_DONE[4]|" YNSCRO"|||Y|Y|N|||N)
  265. enter(PROC_DONE[5]|" YNSCRO"|||Y|Y|N|||N)
  266. enter(PROC_DONE[6]|" YNSCRO"|||Y|Y|N|||N)
  267. clrlne(1|22)
  268. goto START2
  269. START2CL:
  270. clr(PROCEDE|B)
  271. goto START2
  272. \STNEW     
  273.  
  274.  
  275.  
  276.  
  277.  
  278.                                  PROCEDURE ENTRY
  279.           ╔═══════════════════════════════════════════════════════════════╗
  280.           ║ &                          <&                     <&         <║
  281.           ║                                                               ║
  282.           ║  Date             Procedure                        Dr Rec Done║
  283.           ║ &         &                                        & &    &   ║
  284.           ║ &         &                                        & &    &   ║
  285.           ║ &         &                                        & &    &   ║
  286.           ║ &         &                                        & &    &   ║
  287.           ║ &         &                                        & &    &   ║
  288.           ║ &         &                                        & &    &   ║
  289.           ╚═══════════════════════════════════════════════════════════════╝
  290.           Esc - Exit and Save V=1 G=2 P=3 N=4 T=5 * for clinic,xray,path
  291.               Y=DONE S=SEE DR C=COL.SCRPT R=REPEAT O=OTHER N=NORMAL
  292.  
  293.  
  294.  
  295.  
  296.  
  297. \
  298. PATIENT.NAME
  299. ADDRESS1
  300. DATE.OF.BIRTH
  301. PROC_DATE[1]
  302. PROC[1]
  303. PROC_DOC[1]
  304. PROC_OP[1]
  305. PROC_DONE[1]
  306. PROC_DATE[2]
  307. PROC[2]
  308. PROC_DOC[2]
  309. PROC_OP[2]
  310. PROC_DONE[2]
  311. PROC_DATE[3]
  312. PROC[3]
  313. PROC_DOC[3]
  314. PROC_OP[3]
  315. PROC_DONE[3]
  316. PROC_DATE[4]
  317. PROC[4]
  318. PROC_DOC[4]
  319. PROC_OP[4]
  320. PROC_DONE[4]
  321. PROC_DATE[5]
  322. PROC[5]
  323. PROC_DOC[5]
  324. PROC_OP[5]
  325. PROC_DONE[5]
  326. PROC_DATE[6]
  327. PROC[6]
  328. PROC_DOC[6]
  329. PROC_OP[6]
  330. PROC_DONE[6]
  331. \
  332.